Расположение каталога может быть любое, тут выбрана домашняя дериктория. Пользователь - username
Создание каталога и прав
mkdir -p /home/username/startup-scripts #рекурсивное создание папки
chmod 700 /home/username/startup-scripts #доступ только чтения для всех
Требуются права администратора:
sudo nano /etc/systemd/system/startup-scripts.service
Этот файл описывает сервис и его действие. Рекомендую создавать описание для таких сервисов
[Unit]
Description=Run custom scripts from home directory after system startup
After=multi-user.target
Wants=multi-user.target
[Service]
Type=idle
ExecStart=/bin/bash -c 'for script in /home/username/startup-scripts/*; do [ -f "$script" ] && /bin/bash "$script"; done'
RemainAfterExit=true
[Install]
WantedBy=multi-user.target
Этот параметр отвечает за то, когда будут активированы скрипты. В данном случае: после полного запуска системы
After=default.target
Wants=default.target
Теперь нужно активировать данные сервис:
sudo systemctl enable startup-script.service
sudo systemctl start startup-script.service
Все скрипты запускаются от bin/bash, этот параметр можно менять на bin/sh и подобное.
Все скрипты запускаются при инициализации, а не при входе пользователя. Это можно изменить в
After=multi-user.target
Wants=multi-user.target